/**
 * 
 */
package modelo.entidade;

/**
 * @author DANILO
 *
 */
public class Musico {
	
	private long id_musico;
	private String nm_musico;
	private String instrumento;
	private String descricao;
	
	private Endereco endereco;
	private Contato contato;
	
	
	//Getters and Setters***
	public Contato getContato() {
		return contato;
	}
	public void setContato(Contato contato) {
		this.contato = contato;
	}
	public Endereco getEndereco() {
		return endereco;
	}
	public void setEndereco(Endereco endereco) {
		this.endereco = endereco;
	}	
	public long getId_musico() {
		return id_musico;
	}
	public void setId_musico(long id_musico) {
		this.id_musico = id_musico;
	}
	public String getNm_musico() {
		return nm_musico;
	}
	public void setNm_musico(String nm_musico) {
		this.nm_musico = nm_musico;
	}
	public String getInstrumento() {
		return instrumento;
	}
	public void setInstrumento(String instrumento) {
		this.instrumento = instrumento;
	}
	public String getDescricao() {
		return descricao;
	}
	public void setDescricao(String comentario) {
		this.descricao = comentario;
	}
	//Getters and Setters*
	
	//Construtores***
	public Musico() {
		super();
	}
	
	public Musico(long id_musico, String nm_musico, String instrumento,
			String comentario) {
		this(nm_musico, instrumento, comentario);
		this.id_musico = id_musico;
		
	}
	
	public Musico(String nm_musico, String instrumento, String comentario) {
		this();
		this.nm_musico = nm_musico;
		this.instrumento = instrumento;
		this.descricao = comentario;
		}
	
	public Musico(long id_musico, String nm_musico, String instrumento,
			String descricao, Endereco endereco, Contato contato) {
		super();
		this.id_musico = id_musico;
		this.nm_musico = nm_musico;
		this.instrumento = instrumento;
		this.descricao = descricao;
		this.endereco = endereco;
		this.contato = contato;
	}
	public Musico(long id_musico) {
		super();
		this.id_musico = id_musico;
	}
	//Construtores*
	
	
	//hashCode***
	@Override
	public int hashCode() {
		final int prime = 31;
		int result = 1;
		result = prime * result
				+ ((descricao == null) ? 0 : descricao.hashCode());
		result = prime * result + (int) (id_musico ^ (id_musico >>> 32));
		result = prime * result
				+ ((instrumento == null) ? 0 : instrumento.hashCode());
		result = prime * result
				+ ((nm_musico == null) ? 0 : nm_musico.hashCode());
		return result;
	}
	//hashCode*
	
	//equals***
	@Override
	public boolean equals(Object obj) {
		if (this == obj)
			return true;
		if (obj == null)
			return false;
		if (getClass() != obj.getClass())
			return false;
		Musico other = (Musico) obj;
		if (descricao == null) {
			if (other.descricao != null)
				return false;
		} else if (!descricao.equals(other.descricao))
			return false;
		if (id_musico != other.id_musico)
			return false;
		if (instrumento == null) {
			if (other.instrumento != null)
				return false;
		} else if (!instrumento.equals(other.instrumento))
			return false;
		if (nm_musico == null) {
			if (other.nm_musico != null)
				return false;
		} else if (!nm_musico.equals(other.nm_musico))
			return false;
		return true;
	}
	//equals***
	
	//toString***
	@Override
	public String toString() {
		StringBuilder builder = new StringBuilder();
		builder.append("Musico [id_musico=").append(id_musico)
				.append(", nm_musico=").append(nm_musico)
				.append(", instrumento=").append(instrumento)
				.append(", comentario=").append(descricao)
				.append(", endereco=").append(endereco).append(", contato=")
				.append(contato).append("]");
		return builder.toString();
	}
	//toString*
		
}
